<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
</head>
<body>


</body>

<script>
// es5
var num = 10
var name = "shane"
console.log(num,name);

var num = 30
console.log(num);

// es6
//一、let 声明变量
//1、let 不允许重复声明变量 var可以重复声明变量并且可以fugai
//2、let 不允许声明提升 var 可以声明提升
//3、let 声明变量支持作用域的限制，var 不受影响
var a = 1
let b = 2

if (true){
    var a = 10
    let b = 20
}

console.log(a);
console.log(b);

//4、var 声明的变量会挂载到顶层对象上，let不会

//二、const 声明变量

//const 与 var 与 let
//1、const 不能重复声明常量
//2、const 不支持声明提升
//3、const 常量受代码块限制，产生独立作用域
//4、const 不挂载到顶层对象

let c = 1



</script>

</html>




